Contents
NFTP is a text-mode ftp client for OS/2. Comparing to popular ncftp, it has a number of enhancements:
The biggest advantages over majority of PM ftp clients (like FTP-PM, sftp etc.) are the ability to 'reget' (continue transfer after interruption), speed of simple and effective text-mode interface, small memory requirements.
In my opinion, LW-FTP while being very elegant is useless due to big overhead of Workplace Shell object creation/deletion.
OS/2 4.0 (Merlin) has introduced concept of 'FTP Folder', similar to LW-FTP and offering seamless integration of FTP client and Workplace Shell (via WPS class). They are funny and easy to use, but play and work are different things. If you really need to transfer files regularly and in large quantities you'll look for more useful and less fancy program than 'FTP Folder'.
However, NFTP isn't free as ncftp. But registration fee is only US$ 20 -- and you'll get all future versions and support by e-mail at this price! See registration details below.
Unpack archive nftp*.zip into some directory and run install.cmd. After answering some questions necessary files will be copied to the directory you specified and your WPS desktop will hold two new objects -- "NFTP" (executable) and "NFTP Manual". You probably already done that because you're reading that "NFTP Manual"!
If you want to install NFTP by hand (without install.cmd), copy all files into the directory of your choice (eg, "d:\apps\tcpip\nftp"), load nftp.ini into your favourite ASCII text editor (eg, TEDIT shipped with Warp) and insert your e-mail address (it will be used as a password for anonymous logins) at the appropriate place (line
anonymous-password="your-e-mail-address"). I also suggest to decide where you will keep your bookmarks and transfer history and set corresponding variables accordingly. If you like to launch programs from desktop, create program object for NFTP. Put supplied nftp.mrk file into the directory which you've chosen in nftp.ini.
The language NFTP uses is determined by environment variable
NFTP_LANG
. It should be set to the name (without
extension) of corresponding DLL file. E.g., if you want to use
Japanese version, you should use
set NFTP_LANG=japanesThis statement can be put to
config.sys
or to the
batch file invoking nftp (install.cmd
does exactly this).
If you only need English version you may omit this variable.
install.cmd creates Workplace shell object to run NFTP. This feature can be useful even you are die-hard command-line user (see below). NFTP can run in a fullscreen session or in a VIO window. Installation script sets it to run in a window, and window will not be closed automatically after exit -- this can help to diagnose problems. Turn it off when everything works as expected.
After installation, run nftp.exe (from command line or WPS object). If you're launching NFTP from WPS object created by installation script you will be asked to enter "FTP server to log in"; simply press ENTER now. You should see list of bookmarks on the screen. Use cursor keys to select one of them and press ENTER. If everything is set up correctly, you'll see client-server negotiation and then finally list of files and directories on the ftp server you've chosen. Hit SPACE to view control connection window (and it is scrollable!), TAB to view local files/directories. Return to remote directory view by pressing space/tab another time. Move pointer with cursor keys, press ENTER on a directory to enter it. If you know name of the file (or first symbols of the name), type it directly: NFTP will try to position cursor on a file which name starts with these symbols. Select files to download with INSERT or simply press F5 to transfer single file. To upload file to server, switch to local files view (with TAB), select file(s) and press Shift-F5. To view local or remote file, move pointer to it and press F3 (of course, remote file will be downloaded first -- that will probably take some time). Navigating in the viewer is simple and intuitive: scroll file with cursor keys. Press F10 to log off and exit NFTP.
You often already know where the file you need right now is located. Let's suppose, say, you want to retrieve RFC 959 from
src.doc.ic.ac.uk:/pub/rfc/Launch nftp in the following fashion:
nftp src.doc.ic.ac.uk:/pub/rfcor
nftp src.doc.ic.ac.uk/pub/rfcAfter logging in into src.doc.ic.ac.uk nftp will change directory for you to /pub/rfc. Having directory listing before you, start typing 'rfc959': cursor will be positioned on rfc959.txt.gz. You will then locate required file and download it.
The command line format for NFTP is:
nftp [hostname[[:[port]]directory] [userid]"hostname" is the name of ftp server ('src.doc.ic.ac.uk' in the above example), ":" can be omitted, "directory" is remote directory ('/pub/rfc' in the above example), "port" is port number (don't use it if you don't know what's it). If you have an account on ftp server (i.e. you're not anonymous user), you can specify your userid in the command line. You will be asked for a password. An important note -- there shouldn't be any spaces between hostname and directory! Another examples are:
nftp private.crlf.net:7500/users (nonstandard port) nftp ftp/pub (domain suffix omitted) nftp 128.128.128.128:/mydir (IP number instead of host name) nftp lnfm1.sai.msu.su/home/asv asv (login with explicit directory and real password)
Specifying directories in a command line is a pretty useful feature: when you've found some reference, paste it directly into the command line (e.g., File Commander/2 1.4 allows this) and you'll get right into the place without typing anything except Ctrl-Ins and Shift-Ins! Note that it's impossible to specify filename on the command line -- use directory name, not file name (i.e. /pub/rfc instead of pub/rfc/rfc959.txt.gz in the above example).
NFTP will try to use any text mode you have set before starting it. Modes with 80 columns work rather good, but do not expect this from 132-col or other modes.
NFTP has several ways to choose ftp server:
If you don't like editing text files, start NFTP and when you'll be prompted one of bookmarks, press INSERT to add new site. Fill all fields and press ENTER. Select newly added server with cursor keys and press ENTER again to login to site.
; ;firewall-type=0 ; ;firewall-host= ; ;firewall-login= ; ;firewall-password= ; ;firewall-port= ; ;use-PASV-mode=0
Complete list of available commands is in the Keyboard Commands Summary section. You can also view it while working with NFTP - just press F1. F1 displays context-sensitive help, i.e. keystrokes valid in the current mode. Shift-F1 shows general (rather brief) information about program usage.
The file NFTP.INI is plain ASCII file and can be edited with any ASCII editor (e.g., "System Editor" or "TEDIT"). Lines starting with semicolon ";" are comments; empty lines are ignored. The file itself holds comments about configuration and parameter meaning.
Note that only one entry in NFTP.INI is required -- your e-mail address (anonymous-password). All other fields are commented by default (installation script sets log-transfers-name and bookmarks-file). Do not forget to remove leading ";" when doing customizations.
To get rid of overhead of parsing of text initialization file, NFTP converts NFTP.INI into NFTP.BIN. This operation is done only when necessary (i.e. when NFTP.BIN does not exist or older than NFTP.INI). Conversion is fully automatic and done by NFTP-OPT. Please note that file NFTP-OPT.EXE should be placed into the same directory as NFTP.INI or into the directory listed in PATH environment variable. In general, you shouldn't worry about it.
Complete explanation of all parameters in NFTP.INI is in NFTP.INI itself. I feel it is more appropriate place than this manual; it makes little sense to duplicate information here.
Parameters can be of one of three types: integer, boolean and string. Integer values are represented by integers :-) and can be prefixed by sign. Boolean values can be specified as "0", "n", "no" (false), "1", "y", "yes" (true) (WITHOUT! quotes). Different capitalization (e.g., "Yes") can also be used. Strings are represented by character sequencies enclosed into double quotes; if value contains only letters, digits and minus sign you can safely omit quotes.
The following table lists valid keyboard combinations which can be used in NFTP. "Y" means that this keystroke can be used; "--" -- keystroke cannot be assigned (it's not generated at all or intercepted by system); "N/R" -- not recommended (e.g., better leave Esc or Enter bound to defaults); "char" -- generates plain ASCII character code.
VALID KEY COMBINATIONS: FUNCTION AND ALPHANUMERIC KEYS | ||||
---|---|---|---|---|
Key | Plain | Shift | Alt | Ctrl |
esc | N/R | same as 'esc' | -- | -- |
f1-f12 | Y | Y | Y | Y |
~ ` | char | char | Y | -- |
1 ! | char | char | Y | -- |
2 @ | char | char | Y | Y |
3 # | char | char | Y | -- |
4 $ | char | char | Y | -- |
5 % | char | char | Y | -- |
6 ^ | char | char | Y | Y |
7 & | char | char | Y | -- |
8 * | char | char | Y | -- |
9 ( | char | char | Y | -- |
0 ) | char | char | Y | -- |
- _ | char | char | Y | Y |
+ = | char | char | Y | -- |
| \ | char | char | Y | Y |
backspace | N/R | same as 'backspace' | Y | Y |
tab | N/R | N/R | N/R | N/R |
enter | N/R | same as 'enter' | Y | Y |
a-z | char | char | Y | Y |
{ [ | char | char | Y | same as 'esc' |
} ] | char | char | Y | Y |
: ; | char | char | Y | -- |
" ' | char | char | Y | -- |
< , | char | char | Y | -- |
> . | char | char | Y | -- |
? / | char | char | N/R | -- |
Space | char | same as 'space' | same as 'space' | same as 'space' |
VALID KEY COMBINATIONS: NAVIGATION KEYS AND NUMERIC KEYPAD | ||||
---|---|---|---|---|
Key | Plain | Shift | Alt | Ctrl |
insert | N/R | same as 'insert' | Y | Y |
delete | N/R | same as 'delete' | Y | Y |
home | N/R | same as 'home' | -- | Y |
end | N/R | same as 'end' | Y | Y |
pgup | N/R | same as 'pgup' | Y | Y |
pgdn | N/R | same as 'pgdn' | Y | Y |
up | N/R | same as 'up' | Y | Y |
down | N/R | same as 'down' | Y | Y |
left | N/R | same as 'left' | Y | Y |
right | N/R | same as 'right' | Y | Y |
num / | same as '/' | same as '/' | Y | Y |
num * | same as '*' | same as '*' | Y | Y |
num - | same as '-' | same as '-' | Y | Y |
num + | same as '+' | same as '+' | Y | Y |
num enter | same as 'enter' | same as 'enter' | Y | same as 'ctrl-enter' |
num 1 | same as 'end' | same as '1' | -- | same as 'ctrl-end' |
num 2 | same as 'down' | same as '2' | -- | same as 'ctrl-down' |
num 3 | same as 'pgdn' | same as '3' | -- | same as 'ctrl-pgdn' |
num 4 | same as 'left' | same as '4' | -- | same as 'ctrl-left' |
num 5 | Y | same as '5' | -- | Y |
num 6 | same as 'right' | same as '6' | -- | same as 'ctrl-right' |
num 7 | same as 'home' | same as '7' | -- | same as 'ctrl-home' |
num 8 | same as 'up' | same as '8' | -- | same as 'ctrl-up' |
num 9 | same as 'pgup' | same as '9' | -- | same as 'ctrl-pgup' |
num 0 | same as 'insert' | same as '0' | -- | same as 'ctrl-insert' |
num . | same as 'delete' | same as '.' | -- | same as 'ctrl-delete' |
GENERAL KEYBOARD COMMANDS | |
---|---|
Note that these commands are available almost always | |
Key | Meaning |
Shift+F1 | program information and general keyboard commands |
F1 | brings context sensitive help |
F10 | logoff from site and quit NFTP |
Ctrl-K | logoff from site |
Ctrl-B | open bookmark list and log to site from it |
Ctrl-L | login as anonymous into new site |
Ctrl-N | login with userid/password into new site |
Ctrl-V | display version information |
Ctrl-A | toggle state of autocontrol flag |
Ctrl-T | toggle ASCII/BINARY mode |
Ctrl-D | redraw screen (do not re-read remote dir) |
Alt-N | send NO OPERATION command (verify connection aliveness) |
Ctrl-W | sets remote directory view to raw |
Ctrl-P | sets remote directory view to parsed |
Alt-F | use/inhibit NLST with flags (default is on). Some servers do not like NLST -lLa. Try if you see strange messages from server when retrieving directory listing. NOT RECOMMENDED. |
CONTROL CONNECTION WINDOW | |
---|---|
Key | Meaning |
arrow keys | move viewpoint |
Esc | bring you back to the end of history (same as End) |
Space | switches to directory view |
Alt-Q | send any string to server verbatim (quote) |
Alt-C | change to arbitrary directory |
FILE LISTING VIEW (REMOTE OR LOCAL) | |
---|---|
Key | Meaning |
Navigating | |
arrow keys | move cursor around. Horizontal scrolling is also possible |
Ctrl-Left/Ctrl-Right | horizontal scrolling by 10 symbols |
Ctrl-\ | change to root directory |
Ctrl-PgUp | goto the directory level higher ("cd ..") |
Ctrl-PgDn | chdir to directory under cursor |
Enter | same as above |
Alt-C | change to arbitrary directory |
Space | switch to control connection |
F2 | select drive letter -- local view only |
Sorting file listing | |
Ctrl-F3 | sort directory by name, dirs first |
Ctrl-F5 | sort directory by time, then name, dirs first |
Ctrl-F6 | sort directory by size, then name, dirs first |
Ctrl-F7 | remove sorting, return to original state |
Ctrl-F8 | reverse current sort order |
Marking/unmarking | |
Ctrl-num+ | mark all files in current directory |
Ctrl-num- | unmark all files in current directory |
Insert | mark/unmark file under cursor. Directory cannot be marked |
* | invert selection |
Alt-num+ | mark all files in all visited directories |
Alt-num- | unmark all files in all visited directories |
Transferring files | |
F5 | download file under cursor or marked files (if any) -- remote view only |
Shift+F5 | upload file under cursor or marked files (if any) -- local view only |
Alt-F5 | download all marked files from all directories -- remote view only |
Alt-S | save listing of current directory into file -- remote view only |
Viewing files | |
F3 | view file under cursor, use fast internal viewer |
Alt-F3 | view file under cursor, use external viewer |
Creating/deleting/renaming files/directories | |
F6 | rename file/directory |
F7 | make directory (you have to have permissions on remote) |
F8 | delete file or directory under cursor |
Ctrl-R | re-read directory (refresh file list) |
Miscellaneous | |
F4 | save this place as a bookmark |
alphanumeric keys | quick search for files starting with these symbols |
ENTRY FIELDS | |
---|---|
Key | Meaning |
Esc/Enter | abandon/confirm |
Left, Right, Home, End | move cursor around |
Tab, Shift-Tab | move to next/previous field (if any) |
Del, Backspace | delete characters |
Pressing any keys different from Left, Right, Home, End will clear the initial string. |
BOOKMARK LIST | |
---|---|
Key | Meaning |
arrow keys | move cursor |
Enter | select bookmark |
Esc | abort (leave bookmark list) |
Del | delete bookmark |
Insert | create new bookmark |
BUILT-IN FILE VIEWER | |
---|---|
Key | Meaning |
arrow keys | scroll (note that you can scroll horizontally also) |
Ctrl-Left/Right | scroll by 10 symbols horizontally |
F7 | search for text string |
Shift-F7 | repeat search for text string |
F2/Alt-S | save contents to file |
Esc | exit viewer |
The Program (NFTP) is owned by Sergey Ayukov and is copyrighted and licensed, not sold. The term "Program" means the original program and all whole or partial copies of it.
You may:
The Program is provided `as is'. Any express or implied warranties, including, but not limited to, the implied warranties for merchantability and fitness to a particular purpose are disclaimed. Sergey Ayukov will not be liable for any lost profits, lost savings, incident, special, or indirect damages or other economic consequential damages, even if Sergey Ayukov has been advised of the possibility of such damages. Some jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above limitation or exclusion may not apply to you.
The size of files that can be transferred with free version is limited to 500KB. If you want to exploit full capabilities of the Program and receive support by e-mail from author, you have to register your copy. See section Registration below. If you don't need neither to transfer files larger than 500KB nor support you don't have to register. Using unregistered version is perfectly legal; the above conditions apply. Using registered version is covered by separate license; it will be provided later.
Many people have helped me in creating and improving NFTP. They are (in alphabetical order):
This program is packaged using Info-ZIP's compression utility. Info-ZIP's software (Zip, UnZip and related utilities) is free and can be obtained as source code or executables from various bulletin board services and anonymous-ftp sites, including CompuServe's IBMPRO forum and ftp.uu.net:/pub/archiving/zip/*.
Registration fee will be US$ 20. For this price you'll get free updates (i.e. all future versions of NFTP) and support from author by e-mail. Single registration covers all national language versions, so if you want to run, say, English and Chinese versions, you'll have to pay only once.
If you think that price is too high for this small utility, simply don't use NFTP.
The program isn't complete, so there's nothing yet to pay for. Please wait for release version (1.0). Version 0.82 will become unregistered October 1, 1996. There should be another version this Summer.
For people living in Former Soviet Union countries registration will
cost only one postcard. If you want to register in advance, send
nice postcard (preferably with your home town if it's not Moscow)
enclosed in envelope to
Nothing else here at the moment.
You can reach me at asv@sai.msu.su.
Where to find new versions:
Note that first site is managed by myself so it always contains the latest version while Hobbes and cdrom archives sometimes become outdated.
Sorry for any typos and bad grammar. I will gladly accept any corrections to this short manual.
Planned for next versions (note that not all these features will be in the first shareware version (1.0)):